<?php 
class settings {
	
	/*** Houd de instance van de classe vast ***/	
    private static $instance;
    /*** Het path naar het ini bestand ***/
    private $ini_file;
    /*** Inhoud van het ini bestand dat geparseerd is ***/
    private $ini_array = array();
    
    /**
     * Constructor van de settings classe
     */
	private function __construct() 
	{
		/*** path naar het ini bestand ***/
		$this->ini_file = '../config/settings.ini'; 
		/*** parse ini ***/
		$this->parseIni(); 
	} # ctor
	
	/**
	 * Parse het ini bestand en stop de gegevens in de $ini_array
	 * 
	 * @return void
	 */
	private function parseIni()
	{
		/*** bestaat de ini bestand? ***/
		if (file_exists($this->ini_file) == false)
        	die("Can not find " . $this->ini_file);
    	/*** stop ini gegevens in een array ***/
		$this->ini_array = parse_ini_file($this->ini_file, true);
	} # func parseIni
	
	/**
	 * get de ini variablen
	 */
	public function __get($index)
	{
		return $this->ini_array[$index];
	} # func __get
	
	/**
	 * De singleton methode.
	 * Als de klasse nog niet bestaat wordt er een nieuwe instantie gemaakt.
	 * Als de klasse wel bestaat return zichzelf (de instantie)
	 */ 
    public static function singleton() 
    {
        if (!isset(self::$instance)) {
            $c = __CLASS__;
            self::$instance = new $c();
        }

        return self::$instance;
    } # func singleton
    
	/**
	 * Zorg ervoor dat er niet meer dan 1 instantie van de klasse gemaakt kan worden
	 * het is tenslotten een singleton.
     */
    public function __clone()
    {
        trigger_error('Clone is not allowed.', E_USER_ERROR);
    } # func __clone
}
?>